package br.com.velp.sudecap.entidade;

import br.com.velp.sudecap.enumerator.SistemaEnum;
import javax.persistence.*;

/**
 * <sumario>
 * <objetivo> "Rastreabilidade" </objetivo>
 * <autor> EDUARDO SANTOS DE OLIVEIRA </autor>
 * <versao>1.0.0.0</versao>
 * <data_criacao> 06.11.2012 </data_criacao>
 * <data_ultima_alteracao> N/A </data_ultima_alteracao>
 * <requisitos_afetados> RF010.01 – Gerenciar Permissão de Usuários </requisitos_afetados>
 * <descricao> Bean Responsável Pelo Mapeamento da Tabela DIREITO_SISTEMA </descricao>
 * </sumario>
 */
@Entity
@Table(name = "DIREITO_SISTEMA")
public class DireitoSistema extends EntityBase{
    
    public static final Long serialVersionUID = 1l;
    
    @Id
    @SequenceGenerator(name = "SQ_ID_DIR_SIS", sequenceName = "SQ_ID_DIR_SIS", allocationSize = 1)
    @GeneratedValue(generator = "SQ_ID_DIR_SIS")
    @Column(name = "COD_DIREITO", nullable = false, unique = true)
    private Long id;
    
    @Column(name = "DESC_DIREITO", nullable = false, length = 150)
    private String descricao;
    
    @Column(name = "MODULO", nullable = false, length = 30)
    private String modulo;
    
    @Column(name = "INTERFACE", nullable = false, length = 30)
    private String funcionalidade;
    
    @Column(name = "SISTEMA", nullable = false, length = 1)
    private String sistema;

    public DireitoSistema() {
    }

    public DireitoSistema(Long id) {
	this.id = id;
    }

    public Long getId() {
	return id;
    }

    public void setId(Long id) {
	this.id = id;
    }

    public String getDescricao() {
	return descricao;
    }

    public void setDescricao(String descricao) {
	this.descricao = descricao;
    }

    public String getFuncionalidade() {
	return funcionalidade;
    }

    public void setFuncionalidade(String funcionalidade) {
	this.funcionalidade = funcionalidade;
    }

    public String getModulo() {
	return modulo;
    }

    public void setModulo(String modulo) {
	this.modulo = modulo;
    }

    public String getSistema() {
        return sistema;
    }
    
    public String getSistemaStr() {
        return this.sistema != null ? SistemaEnum.getDescricao(this.sistema) : null;
    }

    public void setSistema(String sistema) {
        this.sistema = sistema;
    }
    
}
